1. Field
The present invention relates to a software execution management apparatus that limits, in accordance with a license, execution of a process for permitting execution of software. In particular, the present invention relates to a software execution management apparatus, a software execution management method, and a software execution management program for invalidating a license after granted for permitting use of a program.
2. Description of the Related Art
Upon selling software, a license that permits use of the software is generally granted to a buyer. Further, upon launching the software, illegal use is prevented by controlling availability of a program included in the software in accordance with contents of the granted license.
However, there is a problem that illegal use beyond the contents of the license at the time of a contract can be performed by copying the license.
Japanese Laid-open Patent Publication No. 2000-207199 discloses a license management method in which a software usage code generated from a machine identification code unique to each computer is granted upon licensing and the consistency is checked between the software usage code and the machine identification code of a computer the software is launched thereon upon checking the license. According to this management method, illegal use beyond the contents of the license at the time of the contract is prevented by invalidating a copied license in a computer other than the licensed computer upon checking the license.
Japanese Laid-open Patent Publication No. 2002-182763 discloses a network license management method in which licenses are not individually granted to each computer but managed in an integrated fashion by a license management server. According to this management method, illegal use beyond the contents of the license at the time of the contract is prevented by controlling permission of use of the software in accordance with whether the licensed number is within the contracted number when an arbitrary machine in a network requests a license for using the software. Herein, the contents of the license include a limit of the number of computers concurrently using the software, limit of duration of service, and limit of the number of concurrent users in a multi-user system.
When one computer which is granted a license generated from a machine identification code unique to each computer needs to be replaced with another computer because of failure or aging of the computer granted the license, it is required to issue a license generated from the machine identification code of the other computer. In this case, such a sales system is considered that the new license is granted for substantially free or lower charge than that of the first license under a condition for canceling the first license, instead of the same charge as that of the first license. However, there is no technical means for forcedly invalidating the old license upon issuing a new license. It is disadvantageous that the software can be used on both the computer granted the old license and the computer granted the new license.
Also in the method of managing licenses in an integrated fashion in a license management server, it is needed to grant a license generated from the machine identification code of the computer as the license management server to prevent copy of the license management server itself. Thus, the above described disadvantage is caused when the computer as the license management server needs to be replaced with another computer because of failure or aging.
In particular, upon establishing a server including a license management server, a single server may be virtually established by a plurality of computers for the purpose of load distribution. In this case, upon permitting the execution of server software, a license generated from a machine identification code unique to each computer is granted for every computer constituting the server. When one of the computers is replaced, there are computers executed under the old license and a computer executed under the new license. It is disadvantageous in view of performance to verify whether or not the old and new licenses are valid only by comparing versions of the licenses between a plurality of computers constituting the server. In order to avoid this disadvantage, it is required to reissue the license to all computers constituting the server even when replacing only one computer. It is also disadvantageous in view of operation. Furthermore, immediate invalidation of the old license upon issuing the new license is disadvantageous for a user of a client accessing to the server.
Herein, the “disadvantage in operation” includes that on the provider side due to the operation for reissuing the licenses for all computers constituting the server and that on the user side due to the operation for registering the reissued license.
The “disadvantage for a user of a client” includes that of inaccessibility of the client user to the server for a period of shifting from the old server to the new server and that of occurrence of operation for changing the access destination from the old server to the new server.